package com.cloudbroker.bcs.csvc.push.apiexport.t2;

import com.cloudbroker.bcs.common.entity.HSBCPSBackVO;
import com.cloudbroker.bcs.csvc.push.api.t2service.PushT2Service;
import com.cloudbroker.bcs.csvc.push.api.service.PushFacadeService;
import com.cloudbroker.bcs.csvc.push.api.vo.request.*;
import com.cloudbroker.bcs.csvc.push.api.vo.response.*;
import com.hundsun.jresplus.remoting.impl.annotation.ServiceParam;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * Created by daibd19671 on 2016/9/9.
 */
@Service
public class PushServiceT2 implements PushT2Service {

    @Resource
    private PushFacadeService pushFacadeService;

    @Override
    public TagAliasBack getDeviceTagAlias(@ServiceParam("param")DeviceTagAliasVo deviceTagAliasVo) {
        return pushFacadeService.getDeviceTagAlias(deviceTagAliasVo);
    }

    @Override
    public HSBCPSBackVO updateDeviceTagAlias(@ServiceParam("param")UpdateDeviceTagAliasVo updateDeviceTagAliasVo) {
        return pushFacadeService.updateDeviceTagAlias(updateDeviceTagAliasVo);
    }

    @Override
    public HSBCPSBackVO addRemoveDevicesFromTag(@ServiceParam("param")AddRemoveTagVo addRemoveTagVo) {
        return pushFacadeService.addRemoveDevicesFromTag(addRemoveTagVo);
    }

    @Override
    public PushBack sendAllNotificationWithTag(@ServiceParam("param")PushTagVo pushTagVo) {
        return pushFacadeService.sendAllNotificationWithTag(pushTagVo);
    }

    @Override
    public PushBack sendAllNotificationWithAlias(@ServiceParam("param")PushAliasVo pushAliasVo) {
        return pushFacadeService.sendAllNotificationWithAlias(pushAliasVo);
    }

    @Override
    public PushBack sendAllNotificationWithRegId(@ServiceParam("param")PushRegIdVo pushRegIdVo) {
        return pushFacadeService.sendAllNotificationWithRegId(pushRegIdVo);
    }

    @Override
    public PushBack sendNotificationAll(@ServiceParam("param")PushAllVo pushAllVo) {
        return pushFacadeService.sendNotificationAll(pushAllVo);
    }

    @Override
    public HSBCPSBackVO enableSchedulePush(EnableDisableScheduleVo form){
        return pushFacadeService.enableSchedulePush(form);
    }
    @Override
    public HSBCPSBackVO disableSchedulePush(EnableDisableScheduleVo form){
        return pushFacadeService.disableSchedulePush(form);
    }
    @Override
    public HSBCPSBackVO updateSchedulePush(UpdateScheduleVo form){
        return pushFacadeService.updateSchedulePush(form);
    }

    @Override
    public PushReportBack getPushReport(PushReportVo form) {
        return pushFacadeService.getPushReport(form);
    }

    //
//    public PushBack sendSingleSchedulePushByRegID(SingleSchedulePushRegIDVo form) {
//        return pushFacadeService.sendSingleSchedulePushByRegID(form);
//    }
//
//    public PushBack sendSingleSchedulePushByTag(SingleSchedulePushTagVo form) {
//        return pushFacadeService.sendSingleSchedulePushByTag(form);
//    }
//
//    public PushBack sendSingleSchedulePushByAlias(SingleSchedulePushAliasVo form) {
//        return pushFacadeService.sendSingleSchedulePushByAlias(form);
//    }
//
//    public PushBack sendSingleSchedulePushAll(SingleSchedulePushAllVo form) {
//        return pushFacadeService.sendSingleSchedulePushAll(form);
//    }

//    @Override
//    public HSBCPSBackVO createSingleSchedule(@ServiceParam("param") SchedulePushVo schedulePushVo) {
//        return pushFacadeService.createSingleSchedule(schedulePushVo);
//    }
}
